Geo-fenced marketplace

ABSTRACT

A system comprising a computer-readable storage medium storing at least one program and a computer-implemented method for a geo-fenced zone of commerce are described. Consistent with some embodiments, the method may include subdividing a geographic area, generating corresponding geo-fences, and presenting the corresponding geo-fences as listings in a navigable online marketplace.

CLAIM OF PRIORITY

This Application is a continuation of and claims the benefit of priorityof U.S. application Ser. No. 14/566,526, filed Dec. 10, 2014, which ishereby incorporated by reference in its entirety.

TECHNICAL FIELD

This application relates to data processing. In particular, exampleembodiments may relate to systems and methods for providing a geo-fencedzone of commerce.

BACKGROUND

A “geo-fence” is a virtual perimeter created around real-worldgeographic locations. Traditional geo-fence services provide merchantsor other businesses with a capability to create a geo-fence around aparticular location. When a user enters or exits a perimeter of one ofthese geo-fences with a location-aware device (e.g., a smartphone), anotification related to the location may be transmitted to the user'sdevice. Such notifications are often used as a marketing tool to enticenearby users to patronize these locations.

BRIEF DESCRIPTION OF THE DRAWINGS

Various ones of the appended drawings merely illustrate exampleembodiments of the present invention and cannot be considered aslimiting its scope.

FIG. 1 is a network diagram depicting a network system having aclient-server architecture configured for exchanging data over anetwork, according to an example embodiment.

FIG. 2 is a block diagram illustrating an example embodiment of multiplemodules forming a geo-fence marketplace application, which is providedas part of the network system of FIG. 1.

FIG. 3 is a block diagram illustrating an example mobile device,consistent with some embodiments.

FIG. 4 is an interface diagram depicting a geo-fence provisioninginteraction between an application server, and a third party server,consistent with some embodiments.

FIGS. 5A and 5B are interface diagrams representations of a geo-fencemarketplace, consistent with some embodiments.

FIGS. 6A and 6B are diagrammatic representations of a geo-fence,consistent with some embodiments.

FIG. 7 is an interface diagram depicting a notification presented on aclient device of a user, consistent with some embodiments.

FIG. 8 is a flowchart illustrating an example method for generating andprovisioning a geo-fence, and presenting the geo-fence in a marketplace,consistent with some embodiments.

FIG. 9 is a diagrammatic representation of a machine in the example formof a computer system within which a set of instructions for causing themachine to perform any one or more of the methodologies discussed hereinmay be executed.

DETAILED DESCRIPTION

Reference will now be made in detail to specific example embodiments forcarrying out the inventive subject matter. Examples of these specificembodiments are illustrated in the accompanying drawings. It will beunderstood that they are not intended to limit the scope of the claimsto the described embodiments. On the contrary, they are intended tocover alternatives, modifications, and equivalents as may be includedwithin the scope of the disclosure. In the following description,specific details are set forth in order to provide a thoroughunderstanding of the subject matter. Embodiments may be practicedwithout some or all of these specific details. In accordance with thepresent disclosure, components, process steps, and data structures maybe implemented using various types of operating systems, programminglanguages, computing platforms, computer programs, and/or generalpurpose machines.

Aspects of the present disclosure describe systems and methods forprovisioning one or more geo-fences around a geographic area, andpresenting the geo-fence in a geo-fenced zone of commerce, such asmarketplace or retail outlet for example. Consistent with someembodiments, the method may include receiving bids or requests from auser to utilize for a defined period one or more geo-fences for thepurpose of identifying recipients of targeted content that may or maynot be created by the user submitting the bid or request. The user mayspecify a geographic location, and demographic attributes correspondingto a desired group of recipients, the demographic attributes includingage, gender, a transaction history, a recipient's user profileinformation, and one or more social actions (e.g., a “like”, a “tweet”,a status update, a check-in, becoming a follower, pin an interest or thelike) performed by the recipient and published as an entry on one ormore social networks (e.g., FACEBOOK®, TWITTER®, GOOGLE+®, PINTEREST®,SVPPLY®). For example, a user may specify that targeted content only bedelivered to recipients entering into a geographic area if therecipients have “liked” the brand NIKE® on FACEBOOK®. The user may thenbid on, lease or purchase the corresponding geo-fence in order to usethe geo-fence for a defined period of time to identify recipients todeliver targeted content. Once the recipients enter the geographic areacorresponding to the geo-fence, targeted content may be transmitted to adevice of the recipient. The targeted content may includeadvertisements, coupons, rewards, or other incentives that may becreated by the user.

FIG. 1 is a network diagram depicting a network system 100, according toone embodiment, having a client-server architecture configured forexchanging data over a network. The network system 100 may include anetwork-based content publisher 102 in communication with client devices106 and 108, and third party server 114. For example, the network-basedcontent publisher 102 may be a network-based marketplace.

The network-based content publisher 102 may communicate and exchangedata within the network system 100 that may pertain to various functionsand aspects associated with the network system 100 and its users. Thenetwork-based content publisher 102 may provide server-sidefunctionality, via a network 104 (e.g., the Internet), to one or moreclient devices (e.g., client devices 106 and 108). The one or moreclient devices 106 & 108 may be operated by users that use the networksystem 100 to exchange data over a communication network 104. Thesetransactions may include transmitting, receiving (communicating), andprocessing data to, from, and regarding content and users of the networksystem 100. The data may include, but are not limited to: images; videoor audio content; user preferences; product and service feedback,advice, and reviews; product, service, manufacturer, and vendorrecommendations and identifiers; product and service listings associatedwith buyers and sellers; product and service advertisements; auctionbids; and transaction data, among other things.

In various embodiments, the data exchanged within the network system 100may be dependent upon user-selected functions available through one ormore client or user interfaces (UIs). The UIs may be associated with aclient device, such as the client device 106 using a web client 110. Theweb client 110 may be in communication with the network-based contentpublisher 102 via a web server 122. The UIs may also be associated withthe client device 108 using a programmatic client 112, such as a clientapplication in communication with the network-based content publisher102, or a third party server 114 (e.g., one or more servers or clientdevices 160 or 108) hosting a third party application 116.

The client devices 106 and 108 may be any of a variety of types ofdevices. For example, the client devices 106 and 108 may a mobile devicesuch as a smartphone such as an iPhone® or other mobile device runningthe iOS® operating system, the Android® operating system, a BlackBerry®operating system, the Microsoft® Windows® Phone operating system,Symbian® OS, or webOS®. Consistent with some embodiments, the clientdevices 106 and 108 may alternatively be a tablet computer, such as aniPad® or other tablet computer running one of the aforementionedoperating systems. In some embodiments, the client device 106 and 108may also be a personal digital assistant (PDA), a personal navigationdevice (PND), a handheld computer, a desktop computer, a laptop ornetbook, a set-top box (STB) such as provided by cable or satellitecontent providers, a wearable computing device such as glasses or awristwatch, a multimedia device embedded in an automobile, a GlobalPositioning System (GPS) device, a data enabled book reader, or a videogame system console such as the Nintendo Wii®, the Microsoft Xbox 360®,or the Sony PlayStation 3®, or other video game system consoles.

The client devices 106 and 108 may interface via a connection 118 withthe communication network 104 (e.g., the Internet or wide area network(WAN)). Depending on the form of the client device 106 and 108, any of avariety of types of connections 118 and communication networks 104 maybe used. For example, the connection 118 may be Code Division MultipleAccess (CDMA) connection, a Global System for Mobile communications(GSM) connection, or other type of cellular connection. Such aconnection 118 may implement any of a variety of types of data transfertechnology, such as Single Carrier Radio Transmission Technology(1×RTT), Evolution-Data Optimized (EVDO) technology, General PacketRadio Service (GPRS) technology, Enhanced Data rates for GSM Evolution(EDGE) technology, or other data transfer technology (e.g., fourthgeneration wireless, 4G networks). When such technology is employed, thecommunication network 104 may include a cellular network that has aplurality of cell sites of overlapping geographic coverage,interconnected by cellular telephone exchanges. These cellular telephoneexchanges may be coupled to a network backbone (e.g., the publicswitched telephone network (PSTN), a packet-switched data network, or toother types of networks).

In another example, the connection 118 may be Wireless Fidelity (Wi-Fi,IEEE 802.11x type) connection, a Worldwide Interoperability forMicrowave Access (WiMAX) connection, or another type of wireless dataconnection. In such an embodiment, the communication network 104 mayinclude one or more wireless access points coupled to a local areanetwork (LAN), a WAN, the Internet, or other packet-switched datanetwork. In yet another example, the connection 118 may be a wiredconnection, for example an Ethernet link, and the communication network104 may be a LAN, a WAN, the Internet, or other packet-switched datanetwork. Accordingly, a variety of different configurations areexpressly contemplated.

FIG. 1 also illustrates the third party application 116 executing on thethird party server 114 that may offer one or more services to users ofthe client devices 106 and 108. The third party application 116 may haveprogrammatic access to the network-based content publisher 102 via theprogrammatic interface provided by an application program interface(API) server 120. In some embodiments, the third party application 116may be associated with a vendor, a merchant, or any organizations thatmay conduct transactions with or provide services to the users of theclient devices 106 and 108. For some example embodiments, the thirdparty application 116 may correspond to a social network (e.g.,Facebook®, Twitter®, Google+®, Pinterest®, Svpply®, or the like).

Turning specifically to the network-based content publisher 102, the APIserver 120 and a web server 122 are coupled to, and provide programmaticand web interfaces respectively to, one or more application servers 124.The application servers 124 may, for example, host a geo-fencemarketplace application 126, which may provide a number of marketplacefunctions and services to users that access the network-based contentpublisher 102. The geo-fence marketplace application 126, may beconfigured to generate and provision geo-fences over a geographic area,and to present the geo-fences in a marketplace enabling user to purchasegeo-fence services for the purpose of identifying recipients to delivertargeted content. The application servers 124 may be coupled via theseinterfaces to the communication network 104, for example, via wired orwireless interfaces. The application servers 124 are, in turn, shown tobe coupled to one or more database servers 130 that facilitate access toone or more databases 132. In some examples, the application servers 124can access the databases 132 directly without the need for a databaseserver 130. In some embodiments, the databases 132 may include databasesboth internal and external to the network-based content publisher 102.

While the geo-fence marketplace application 126 is shown in FIG. 1 toform part of the network-based content publisher 102, it will beappreciated that, in alternative embodiments, the geo-fence marketplaceapplication 126 may form part of a service that is separate and distinctfrom the network-based content publisher 102. Further, while the system100 shown in FIG. 1 employs client-server architecture, the presentinventive subject matter is, of course, not limited to such anarchitecture, and could equally well find application in anevent-driven, distributed, or peer-to-peer architecture system, forexample. The various applications and modules of the application servers124 may also be implemented as standalone systems or software programs,which do not necessarily have networking capabilities.

FIG. 2 is a block diagram illustrating an example embodiment of multiplemodules forming the geo-fence marketplace application 126, which isprovided as part of the network system 100 of FIG. 1. The modules of thegeo-fence marketplace application 126 may be hosted on dedicated orshared server machines that are communicatively coupled to enablecommunications between server machines. Each of the modules 200-218 arecommunicatively coupled (e.g., via appropriate interfaces) to each otherand to various data sources, so as to allow information to be passedbetween the modules 200-218 of the geo-fence marketplace applications126 or so as to allow the modules 200-218 to share and access commondata. The various modules of the geo-fence marketplace application 126may furthermore access one or more databases 132 via the databaseservers 130. Further, while the modules of FIG. 2 are discussed in thesingular sense, it will be appreciated that in other embodimentsmultiple modules may be employed.

The geo-fence marketplace application 126 may provide a number ofpublishing, listing, and price-setting mechanisms whereby a seller maylist (or publish information concerning) geo-fences for sale, a buyercan express interest in or indicate a desire to purchase such geo-fenceservices, and a price can be set for a transaction pertaining to thegeo-fence services. To this end, the geo-fence marketplace application126 is shown to include at least one publication module 200 and one ormore auction module 202, which support auction-format listing and pricesetting mechanisms (e.g., English, Dutch, Vickrey, Chinese, Double,Reverse auctions etc.). The auction module 202 may also provide a numberof features in support of such auction-format listings, such as areserve price feature whereby a seller may specify a reserve price inconnection with a listing, and a proxy-bidding feature whereby a biddermay invoke automated proxy bidding.

A number of pricing module 204 support fixed-price listing formats(e.g., the traditional classified advertisement-type listing or acatalogue listing) and buyout-type listings. Specifically, buyout-typelistings (e.g., including the Buy-It-Now (BIN) technology developed byeBay Inc., of San Jose, Calif.) may be offered in conjunction withauction-format listings, and allow a buyer to purchase geo-fenceservices, which are also being offered for sale via an auction, for afixed-price that is typically higher than the starting price of theauction. The pricing module 204 may also provide price calculationcapabilities, wherein an initial price for a particular geo-fence may becalculated based on the size, location, and demographic attributescorresponding to the geo-fence. The pricing module 204 may gather andanalyze attributes of a geo-fence and determine that the correspondingprice of the geo-fence increases in relation to the size and range ofthe geo-fence. For example, as a geo-fence increases in size, thecorresponding initial price of the geo-fence also increases.

Store module 206 may allow sellers to group their product listings(e.g., goods and/or services) within a “virtual” store, which may bebranded and otherwise personalized by and for the sellers. Such avirtual store may also offer promotions, incentives, and features thatare specific and personalized to a relevant seller. In one embodiment,the listings and/or transactions associated with the virtual store andits features may be provided to one or more users.

Navigation of the network-based content publisher 102 may be facilitatedby one or more navigation module 208. For example, a search module may,inter alia, enable keyword searches of listings published via thecontent publisher 102. A browser module may allow users via anassociated User Interface UI to browse various category, catalogue,inventory, social network, and review data structures within the contentpublisher 102. Various other navigation modules 208 (e.g., an externalsearch engine) may be provided to supplement the search and browsingmodules. Consistent with some embodiments, the results for keywordsearches of listings published via the network-based content publisher102 may be filtered to include only listings corresponding to socialnetwork connections of the user (e.g., indicated friends and family).

In one embodiment, an electronic shopping cart module 210 is used tocreate an electronic shopping cart used by users of the network-basedcontent publisher 102 to add and store products (e.g., goods andservices) listed by the store module 206. The electronic shopping cartmodule 210 may also be used to “check out,” meaning a user may purchaseproducts in the electronic shopping cart. The electronic shopping cartmodule 210 may facilitate the transactions by automatically finding theproducts in the electronic shopping cart across at least one or all of apredefined set of vendors, a comparison shopping site, an auction site,etc. In various embodiments, the selection criteria for which vendor orvendors to purchase from may include, but is not limited to, criteriasuch as lowest cost, fastest shipping time, preferred or highest ratedvendors or sellers, or any combination thereof.

As illustrated in FIG. 2, the geo-fence marketplace application 126 mayinclude one or more payment module 212 that may provide a number ofpayment services and functions to users. The payment module 212 mayallow users to accumulate value (e.g., in a commercial currency, such asthe U.S. dollar, or a proprietary currency, such as “points”) inaccounts, and then later to redeem the accumulated value for products(e.g., goods or services) that are made available via the payment module212. For some example embodiments, the payment module 212 generallyenables transfer of values (e.g., funds, reward points, etc.) from anaccount associated with one party (e.g., a sender) to another accountassociated with another party (e.g., a receiver).

As illustrated in FIG. 2, the geo-fence marketplace application 126 mayinclude one or more recommendation module 214, which may providerecommendation services and functions to users. In some embodiments, therecommendation module 214 may receive requests for recommendations, and,in turn, provide a recommendation to the user based on informationcontained in the user's corresponding user profile. In some embodiments,the recommendation module 214 may automatically generate and provide arecommendation based on the activity of the user. The recommendationsprovided by the recommendation module 214 may contain one or more items(e.g., products offered for sale, articles, blogs, movies, socialnetwork connections, etc.) that may potentially interest a user. Therecommendations may, for example, be based on previous productspurchased by the user or a social network connection of the user, a webpage viewed by the user, or an item given favorable feedback by the useror a social connection of the user, or location informationcorresponding to the user.

The geo-fencing module 216 subdivides a geographic area and generatesthe one or more corresponding geo-fences. Each geo-fence generated bythe geo-fencing module 216 is stored in a database (e.g., database 132)and may be presented by the user-interface module 220 in the interactivemarketplace. Functions of the geo-fencing module 216 are discussedfurther in FIG. 4.

The communications module 218 may utilize any one of a number of messagedelivery networks and platforms to deliver messages to users. Forexample, the communications module 218 may deliver push notifications(e.g., via a pertinent push notification service), electronic mail(e-mail), instant message (IM), Short Message Service (SMS), text,facsimile, or voice (e.g., voice over IP (VoIP)) messages via the wired(e.g., the Internet), plain old telephone service (POTS), or wireless(e.g., mobile, cellular, WiFi, WiMAX) networks.

FIG. 3 is a block diagram illustrating a location aware client device300, which may correspond to client device 106 or client device 108,consistent with some embodiments. The location aware client device 300may, for example, be a smartphone such as an iPhone® or other mobiledevice. The location aware client device 300 may also be a tabletcomputer such as the iPad® or other similar device. The location awareclient device 300 may include a processor 310. The processor 310 may beany of a variety of different types of commercially available processorssuitable for mobile devices (e.g., an XScale architecturemicroprocessor, a Microprocessor without Interlocked Pipeline Stages(MIPS) architecture processor, or another type of processor). A memory320, such as a random access memory (RAM), a Flash memory, or other typeof memory, is typically accessible to the processor 310.

The memory 320 may store instructions for execution by the processor 310for causing the location aware client device 300 to perform specifictasks. For example, the memory 320 may be adapted to store an operatingsystem (OS) 330. Depending on the particular type of the location awareclient device 300, the OS 330 may, for example, be the iOS® operatingsystem, the Android® operating system, a BlackBerry® operating system,the Microsoft® Windows® Phone operating system, Symbian® OS, or webOS®.Further, such instructions may relate to operations performed byapplications 340 (commonly known as “apps”) stored in memory 320. Oneexample of an application 340 is a mobile browser application thatdisplays content, such as a web page or a user interfaces using abrowser. The application 340 may also include social applications suchas Facebook®, Twitter®, Google+®, Pinterest®, or Svpply® incommunication with an applicable third party server 114. The application340 may also include a mobile marketplace application for viewing,purchasing, and selling geo-fence services through the geo-fencemarketplace application 126. The application 340 may also include amobile location enabled application that may provide location basedservices (e.g., real-world location check-in) to a user.

The processor 310 may be coupled, either directly or via appropriateintermediary hardware, to a display 350 and to one or more input/output(I/O) devices 360, such as a keypad, a touch panel sensor, a microphone,a speaker, a camera, and the like. Similarly, in some embodiments, theprocessor 310 may be coupled to a transceiver 370 that interfaces withan antenna 380. The transceiver 370 may be configured to both transmitand receive cellular network signals, wireless data signals, or othertypes of signals via the antenna 380, depending on the nature of thelocation aware client device 300. In this manner, the connection 118with the network 104 may be established.

Consistent with some embodiments, the location aware client device 300may include a location component 390 for determining a location of thelocation aware client device 300. In some embodiments, the locationcomponent 390 may correspond to a GPS transceiver that may make use ofthe antenna 380 to communicate GPS signals with a GPS satellite. Thelocation component 390 may also be configured to determine a location ofthe location aware client device 300 by using an internet protocol (IP)address lookup or by triangulating a position based on nearby mobilecommunications towers. The location component 390 may be furtherconfigured to store a user-defined location in memory 320. In someembodiments, a mobile location enabled application may work inconjunction with the location component 390 and the transceiver 370 totransmit the location of the location aware client device 300 to theapplication server 124 or third party server 114 via antenna 380 for thepurpose of identifying the location of a user operating the locationaware client device 300.

FIG. 4 is an interaction diagram 400 depicting geo-fence provisioning bythe geo-fencing module 216. The geo-fencing module 216 subdivides ageographic area and generates the one or more geo-fences 402, 406, 408,and 410. Each geo-fence generated by the geo-fencing module 216 isstored in a database (e.g., database 132) and is presented by theuser-interface module 220 in the interactive marketplace. Each geo-fencecorresponds to a subdivided portion of the geographic area. For example,geo-fence 402 corresponds to geographic area 404.

In some embodiments, the geo-fencing module 216 subdivides a geographicarea 404 based on locations of businesses and landmarks distributed overthe region, and places a geo-fence over each business and landmark. Inother embodiments, the geo-fencing module 216 may obtain social networkactivity of a plurality of users within a geographic region from one ormore social networks. The social network activity may include one ormore social actions (e.g., a like, a tweet, a status update, a check-in,becoming a follower, Pin an interest or the like) performed by the userand published as an entry on one or more social networks (e.g.,Facebook®, Twitter®, Google+®, Pinterest®, Svpply®). The social networkactivity is analyzed to identify concentrations of check-in data, areal-world location corresponding to the concentrations of check-in datais identified, and a geo-fence is created for the location. For example,if a plurality of users identify a particular geographic location intheir social actions, the geo-fencing module 216 may use the data toidentify a particular geographic area 404 as a location for a geo-fence.

The geo-fencing module 216 stores the corresponding social action datain the database 132 for use by the pricing module 204 in setting aninitial price for the geo-fence. For example, a geographic area 404 witha higher concentration of social action data corresponding to it maygarner a higher initial price for the corresponding geo-fence, whereas ageographic area 404 with few corresponding social actions would be lessvaluable.

In other embodiments, the geo-fencing module 216 provisions geo-fencesbased upon user inputs specifying a particular geographic location anddemographic information. The user may specify a geographic locationthrough user inputs, as well as demographic attributes corresponding toa desired group of recipients, the demographic attributes including age,gender, a transaction history, a recipient's user profile information,and one or more social actions (e.g., a like, a tweet, a status update,a check-in, becoming a follower, Pin an interest or the like) performedby the recipient and published as an entry on one or more socialnetworks (e.g., Facebook®, Twitter®, Google+®, Pinterest®, Svpply®). Theuser may select a geographic area 404 by entering an address, crossstreets, GPS coordinates, or keywords corresponding to user socialactions. Responsive to defining a geographic area 404, the geo-fencingmodule 216 would then generate a corresponding geo-fence 402.

FIG. 5A is a screenshot illustrating a geo-fence marketplace displayedon a client device 106, consistent with some embodiments. One or morelistings 515 for geo-fences may be published in a marketplace by thepublication module 200. The listings 515 may include a name foridentification purposes, location information, identifying the specificarea covered by any given geo-fence, pricing information as generated bythe pricing module 204, as well as information corresponding todemographic attributes. The listing for the geo-fence 510 includes:location information, identifying the geographic area 404 covered by thegeo-fence 510; a corresponding initial price based on the geo-fenceparameters, which include the size of the geo-fence, and the socialaction data corresponding to the geographic area 404; a period of timewhich the geo-fence services may be used; and a field to identifyattributes corresponding to target recipients. For example, a userplacing a bid on geo-fence 510 may schedule a time frame which they wishto utilize the geo-fence, and may then select attributes correspondingto the target recipients. The pricing module 204 may then calculate aninitial cost for the geo-fence based on the geo-fence parametersselected by the user. The user may then place a bid through the auctionmodule 202, or in some embodiments, pay a fixed price.

FIG. 5B is a screenshot illustrating an interactive user interface 520whereby a user may provision geo-fences based upon user inputsspecifying a particular geographic location and demographic information.The user may specify a geographic location, as well as demographicattributes corresponding to a desired group of recipients, and ascheduled time to use the geo-fencing service, through a list ofgeo-fence parameters 530. The demographic attributes include age,gender, a transaction history, a recipient's user profile information,and one or more social actions (e.g., a like, a tweet, a status update,a check-in, becoming a follower, pin an interest or the like) performedby the recipient and published as an entry on one or more socialnetworks (e.g., Facebook®, Twitter®, Google+®, Pinterest®, Svpply®). Theuser may select a geographic area 404 by entering an address, crossstreets, GPS coordinates, or keywords corresponding to user socialactions. Responsive to defining a geographic area 404, the geo-fencingmodule 216 would then generate a corresponding geo-fence 525. The usermay then place a bid on the geo-fence 525 through auction module 202.

FIGS. 6A and 6B are diagrammatic representations of a geo-fence 402,corresponding to geographic area 404, consistent with some embodiments.The geographic area 404 corresponds to a geographic location identifiedby the user through the user interface of FIG. 5B, or a geographiclocation identified by the geo-fencing module 216. For example, thegeographic area 404 may correspond to a hotel where a plurality of usersmay have checked in, or addressed through social actions on one or moresocial networks. The geo-fence 402 may be generated by the geo-fencingmodule 216 in response to identifying the geographic area 404. Asillustrated in FIG. 6A, the user 606 is at a location outside ofgeo-fence 402. The user 606 may be carrying a client device 108. Asillustrated in FIG. 6B, the user 606 may then enter the geo-fence 402.The geo-fencing module 216 may then detect that the user 606 has enteredinto the geo-fence 402 based on location information received from theclient device 108. Responsive to the user 606 entering the geo-fence402, the communications module 218 may deliver targeted content toclient device 108.

FIG. 7 is an interface diagram depicting a notification presented on aclient device 108 of a user 606, consistent with some embodiments. Inparticular, FIG. 7 illustrates a notification 700 displayed on theclient device 108 of the user 606. The notification 700 may betransmitted to the client device 108 in response to detecting that theuser 606 has entered the personalized geo-fence 402, as illustrated inFIG. 6B. It should be appreciated that the content of notification 700is presented for illustrative purposes only, and in other embodiments,such notifications may include a variety of advertisements, coupons,rewards, or other incentives that may be applicable at a real-worldlocation for which a geo-fence has been entered, or may applicable at anelectronic marketplace hosted by application servers 124 or third partyserver 114. Further, in some embodiments, the particular varied coupons,rewards, or other incentives provided to a user 606 may be specificallytailored for the user 606 based on the user 606's preferences and otherinformation about the user 606 maintained as part of a user profile.Also, although FIG. 7 illustrates a message being delivered by thecommunication module 218 via an applicable push notification service,the communication module 218 is, of course, not limited to such adelivery platform, and may, in other embodiment, utilize any one of anumber of message delivery networks and platforms to deliver messages tothe client devices 108 of users 606.

FIG. 8 is a flowchart illustrating an example method 800 for generatinggeo-fences, and presenting the geo-fences as listings 515 in a geo-fencemarketplace, consistent with some embodiments. The method 800 may beembodied in computer-readable instructions for execution by one or moreprocessors 310 such that the steps of the method 800 may be performed bythe application server 124 and, in particular, the modules 200-218comprising the geo-fence marketplace application 126.

At operation 805, the geo-fencing module 216 may subdivide a geographicarea 404 based on locations of businesses and landmarks distributed overthe region. In other embodiments, the geo-fencing module 216 may obtainsocial network activity of a plurality of users 606 within a geographicregion from one or more social networks, and subdivide a geographic area404 based on concentrations of social actions identifying a geographiclocation (e.g., a like, a tweet, a status update, a check-in, becoming afollower, pin an interest or the like) performed by the user 606 andpublished as an entry on one or more social networks (e.g., Facebook®,Twitters, Google+®, Pinterest®, Svpply®). The social network activity isanalyzed to identify concentrations of check-in data, and social actionscorresponding to a particular geographic location. At operations 810,geo-fences are generated by the geo-fencing module 216 corresponding tothe geographic locations identified at operation 805.

Responsive to the geo-fencing module 216 identifying and generatinggeo-fences, at operation 815, the publication module 200 presents thegeo-fences as listings 515 within a navigable marketplace. A user 606may then navigate through the listings 515 in order to select anappropriate geo-fence. Upon selecting a geo-fence, a user 606 may thenplace a bid to use the geo-fence for a scheduled period of time. Atoperation 820, the auction module 202 receives bids from one or moreusers 606 to find a buyer.

Module, Components and Logic

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules may constitute eithersoftware modules (e.g., code embodied on a machine-readable medium or ina transmission signal) or hardware modules. A hardware module is atangible unit capable of performing certain operations and may beconfigured or arranged in a certain manner. In example embodiments, oneor more computer systems (e.g., a standalone, client, or server computersystem) or one or more hardware modules of a computer system (e.g., aprocessor 310 or a group of processors 310) may be configured bysoftware (e.g., an application 340 or application portion) as a hardwaremodule that operates to perform certain operations as described herein.

In various embodiments, a hardware module may be implementedmechanically or electronically. For example, a hardware module maycomprise dedicated circuitry or logic that is permanently configured(e.g., as a special-purpose processor, such as a Field-Programmable GateArray (FPGA) or an Application Specific Integrated Circuit (ASIC)) toperform certain operations. A hardware module may also compriseprogrammable logic or circuitry (e.g., as encompassed within ageneral-purpose processor 310 or other programmable processor 310) thatis temporarily configured by software to perform certain operations. Itwill be appreciated that the decision to implement a hardware modulemechanically, in dedicated and permanently configured circuitry, or intemporarily configured circuitry (e.g., configured by software) may bedriven by cost and time considerations.

Accordingly, the term “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired) or temporarilyconfigured (e.g., programmed) to operate in a certain manner and/or toperform certain operations described herein. Considering embodiments inwhich hardware modules are temporarily configured (e.g., programmed),each of the hardware module need not be configured or instantiated atany one instance in time. For example, where the hardware modulescomprise a general-purpose processor 310 configured using software, thegeneral-purpose processor 310 may be configured as respective differenthardware modules at different times. Software may accordingly configurea processor 310, for example, to constitute a particular hardware moduleat one instance of time and to constitute a different hardware module ata different instance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules may be regarded as being communicatively coupled. Where multipleof such hardware modules exist contemporaneously, communications may beachieved through signal transmission (e.g., over appropriate circuitsand buses that connect the hardware modules). In embodiments in whichmultiple hardware modules are configured or instantiated at differenttimes, communications between such hardware modules may be achieved, forexample, through the storage and retrieval of information in memorystructures to which the multiple hardware modules have access. Forexample, one hardware module may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module may then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules may also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors 310 that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors 310 may constitute processor-implementedmodules that operate to perform one or more operations or functions. Themodule referred to herein may, in some example embodiments, compriseprocessor-implemented modules.

Similarly, the methods described herein may be at least partiallyprocessor-implemented. For example, at least some of the operations of amethod may be performed by one or more processors 310 orprocessor-implemented modules. The performance of certain of theoperations may be distributed among the one or more processors 310, notonly residing within a single machine, but deployed across a number ofmachines. In some example embodiments, the processor or processors 310may be located in a single location (e.g., within a home environment, anoffice environment, or as a server farm), while in other embodiments theprocessors 310 may be distributed across a number of locations.

The one or more processors 310 may also operate to support performanceof the relevant operations in a “cloud computing” environment or as a“software as a service” (SaaS). For example, at least some of theoperations may be performed by a group of computers (as examples ofmachines including processors 310), with these operations beingaccessible via a network 104 (e.g., the Internet) and via one or moreappropriate interfaces (e.g., APIs).

Electronic Apparatus and System

Example embodiments may be implemented in digital electronic circuitry,or in computer hardware, firmware, software, or in combinations of them.Example embodiments may be implemented using a computer program product,for example, a computer program tangibly embodied in an informationcarrier, for example, in a machine-readable medium for execution by, orto control the operation of, data processing apparatus, for example, aprogrammable processor 310, a computer, or multiple computers.

A computer program can be written in any form of programming language,including compiled or interpreted languages, and it can be deployed inany form, including as a stand-alone program or as a module, subroutine,or other unit suitable for use in a computing environment. A computerprogram can be deployed to be executed on one computer or on multiplecomputers at one site, or distributed across multiple sites andinterconnected by a communication network 104.

In example embodiments, operations may be performed by one or moreprogrammable processors 310 executing a computer program to performfunctions by operating on input data and generating output. Methodoperations can also be performed by, and apparatus of exampleembodiments may be implemented as, special purpose logic circuitry(e.g., a FPGA or an ASIC).

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network 104. The relationship of client andserver arises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. Inembodiments deploying a programmable computing system, it will beappreciated that both hardware and software architectures meritconsideration. Specifically, it will be appreciated that the choice ofwhether to implement certain functionality in permanently configuredhardware (e.g., an ASIC), in temporarily configured hardware (e.g., acombination of software and a programmable processor 310), or acombination of permanently and temporarily configured hardware may be adesign choice. Below are set out hardware (e.g., machine) and softwarearchitectures that may be deployed, in various example embodiments.

Example Machine Architecture and Machine-Readable Medium

FIG. 9 is a block diagram of machine in the example form of a computersystem 900, which may correspond to client device 106 or 108, thirdparty server 114, or server 124, consistent with some embodiments. Thecomputer system 900 may include instructions 924 for causing the machineto perform any one or more of the methodologies discussed herein. Inalternative embodiments, the machine operates as a standalone device ormay be connected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient machine in server-client network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine may be a personal computer (PC), a tablet PC, a set-top box(STB), a PDA, a cellular telephone, a web appliance, a network router,switch or bridge, or any machine capable of executing instructions 924(sequential or otherwise) that specify actions to be taken by thatmachine. Further, while only a single machine is illustrated, the term“machine” shall also be taken to include any collection of machines thatindividually or jointly execute a set (or multiple sets) of instructions924 to perform any one or more of the methodologies discussed herein.

The example computer system 900 includes a processor 902 (e.g., acentral processing unit (CPU), a graphics processing unit (GPU) orboth), a main memory 904 and a static memory 906, which communicate witheach other via a bus 908. The computer system 900 may further include avideo display unit 910 (e.g., a liquid crystal display (LCD) or acathode ray tube (CRT)). The computer system 900 also includes analphanumeric input device 913 (e.g., a keyboard), a cursor controldevice 914 (e.g., a mouse), a drive unit 916, a signal generation device918 (e.g., a speaker), and a network interface device 920.

Machine-Readable Medium

The drive unit 916 includes a machine-readable medium 922 on which isstored one or more sets of data structures and instructions 924 (e.g.,software) embodying or used by any one or more of the methodologies orfunctions described herein. The instructions 924 may also reside,completely or at least partially, within the main memory 904, staticmemory 906, and/or within the processor 902 during execution thereof bythe computer system 900, with the main memory 904 and the processor 902also constituting machine-readable media 922.

While the machine-readable medium 922 is shown in an example embodimentto be a single medium, the term “machine-readable medium” may include asingle medium or multiple media (e.g., a centralized or distributeddatabase 132, and/or associated caches and servers) that store the oneor more data structures or instructions 924. The term “machine-readablemedium” shall also be taken to include any tangible medium that iscapable of storing, encoding, or carrying instructions (e.g.,instructions 924) for execution by the machine and that cause themachine to perform any one or more of the methodologies of the presentdisclosure, or that is capable of storing, encoding or carrying datastructures used by or associated with such instructions 924. The term“machine-readable medium” shall accordingly be taken to include, but notbe limited to, solid-state memories, and optical and magnetic media.Specific examples of machine-readable media 922 include non-volatilememory, including by way of example, semiconductor memory devices (e.g.,erasable programmable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM)) and flash memory devices;magnetic disks such as internal hard disks and removable disks;magneto-optical disks; and CD-ROM and DVD-ROM disks.

Furthermore, the tangible machine-readable medium 922 is non-transitoryin that it does not embody a propagating signal. However, labeling thetangible machine-readable medium 922 as “non-transitory” should not beconstrued to mean that the medium is incapable of movement—the mediumshould be considered as being transportable from one real-world locationto another. Additionally, since the machine-readable medium 922 istangible, the medium may be considered to be a machine-readable device.

Transmission Medium

The instructions 924 may further be transmitted or received over acommunications network 926 using a transmission medium. The instructions924 may be transmitted using the network interface device 920 and anyone of a number of well-known transfer protocols, such as HypertextTransfer Protocol (HTTP). Examples of communication networks 104 includea LAN, a WAN, the Internet, mobile telephone networks, Plain OldTelephone Service (POTS) networks, and wireless data networks (e.g.,WiFi and WiMax networks). The term “transmission medium” shall be takento include any intangible medium that is capable of storing, encoding,or carrying instructions 924 for execution by the machine, and includesdigital or analog communications signals or other intangible media tofacilitate communication of such software.

Although the embodiments of the present invention have been describedwith reference to specific example embodiments, it will be evident thatvarious modifications and changes may be made to these embodimentswithout departing from the broader scope of the inventive subjectmatter. Accordingly, the specification and drawings are to be regardedin an illustrative rather than a restrictive sense. The accompanyingdrawings that form a part hereof, show by way of illustration, and notof limitation, specific embodiments in which the subject matter may bepracticed. The embodiments illustrated are described in sufficientdetail to enable those skilled in the art to practice the teachingsdisclosed herein. Other embodiments may be used and derived therefrom,such that structural and logical substitutions and changes may be madewithout departing from the scope of this disclosure. This DetailedDescription, therefore, is not to be taken in a limiting sense, and thescope of various embodiments is defined only by the appended claims,along with the full range of equivalents to which such claims areentitled.

Such embodiments of the inventive subject matter may be referred toherein, individually and/or collectively, by the term “invention” merelyfor convenience and without intending to voluntarily limit the scope ofthis application to any single invention or inventive concept if morethan one is in fact disclosed. Thus, although specific embodiments havebeen illustrated and described herein, it should be appreciated that anyarrangement calculated to achieve the same purpose may be substitutedfor the specific embodiments shown. This disclosure is intended to coverany and all adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the above description.

All publications, patents, and patent documents referred to in thisdocument are incorporated by reference herein in their entirety, asthough individually incorporated by reference. In the event ofinconsistent usages between this document and those documents soincorporated by reference, the usage in the incorporated referencesshould be considered supplementary to that of this document; forirreconcilable inconsistencies, the usage in this document controls.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one, independent of any otherinstances or usages of “at least one” or “one or more.” In thisdocument, the term “or” is used to refer to a nonexclusive or, such that“A or B” includes “A but not B,” “B but not A,” and “A and B,” unlessotherwise indicated. In the appended claims, the terms “including” and“in which” are used as the plain-English equivalents of the respectiveterms “comprising” and “wherein.” Also, in the following claims, theterms “including” and “comprising” are open-ended; that is, a system,device, article, or process that includes elements in addition to thoselisted after such a term in a claim are still deemed to fall within thescope of that claim. Moreover, in the following claims, the terms“first,” “second,” and “third,” and so forth are used merely as labels,and are not intended to impose numerical requirements on their objects.

1. A system comprising: a memory; and at least one hardware processorcoupled to the memory and comprising instructions that cause the systemto perform operations comprising: accessing social network activity of aplurality of users, the social network activity of the plurality ofusers comprising location data; identifying a geographic location basedon the location data responsive to the accessing the social networkactivity of the plurality of users; generating a geo-fence thatencompasses the geographic location in response to the identifying thegeographic location based on the location data; and causing display of alisting interface that comprises a presentation of a set of geo-fenceidentifiers, the set of geo-fence identifiers including a geo-fenceidentifier that identifies the geo-fence that encompasses the geographiclocation identified by the location data.
 2. The system of claim 1,wherein the identifying the geographic location based on the locationdata includes: identifying a concentration of social network activitywithin the geographic region based on the location data.
 3. The systemof claim 2, wherein the instructions cause the system to performoperations further comprising: determining a cost for deliveringtargeted content through the geo-fence that encompasses the geographiclocation based on a property of the concentration of social networkactivity.
 4. The system of claim 1, wherein the instructions cause thesystem to perform operations further comprising: determining a cost fordelivering targeted content through the geo-fence that encompasses thegeographic location based on a property of the geographic location. 5.The system of claim 4, wherein the geo-fence identifier that identifiesthe geo-fence that encompasses the geographic location further comprisesa display of the cost for delivering the targeted content through thegeo-fence.
 6. The system of claim 1, wherein the geo-fence identifierincludes an identification of the geographic location.
 7. The system ofclaim 4, wherein the identification of the geographic location comprisesan image that depicts the geographic location.
 8. A method comprising:accessing social network activity of a plurality of users, the socialnetwork activity of the plurality of users comprising location data;identifying a geographic location based on the location data responsiveto the accessing the social network activity of the plurality of users;generating a geo-fence that encompasses the geographic location inresponse to the identifying the geographic location based on thelocation data; and causing display of a listing interface that comprisesa presentation of a set of geo-fence identifiers, the set of geo-fenceidentifiers including a geo-fence identifier that identifies thegeo-fence that encompasses the geographic location identified by thelocation data.
 9. The method of claim 8, wherein the identifying thegeographic location based on the location data includes: identifying aconcentration of social network activity within the geographic regionbased on the location data.
 10. The method of claim 9, wherein themethod further comprises: determining a cost for delivering targetedcontent through the geo-fence that encompasses the geographic locationbased on a property of the concentration of social network activity. 11.The method of claim 8, wherein the method further comprises: determininga cost for delivering targeted content through the geo-fence thatencompasses the geographic location based on a property of thegeographic location.
 12. The method of claim 11, wherein the geo-fenceidentifier that identifies the geo-fence that encompasses the geographiclocation further comprises a display of the cost for delivering thetargeted content through the geo-fence.
 13. The method of claim 8,wherein the geo-fence identifier includes an identification of thegeographic location.
 14. The method of claim 13, wherein theidentification of the geographic location comprises an image thatdepicts the geographic location.
 15. A non-transitory machine-readablestorage medium embodying instructions executed by a machine, that causethe machine to perform operations comprising: accessing social networkactivity of a plurality of users, the social network activity of theplurality of users comprising location data; identifying a geographiclocation based on the location data responsive to the accessing thesocial network activity of the plurality of users; generating ageo-fence that encompasses the geographic location in response to theidentifying the geographic location based on the location data; andcausing display of a listing interface that comprises a presentation ofa set of geo-fence identifiers, the set of geo-fence identifiersincluding a geo-fence identifier that identifies the geo-fence thatencompasses the geographic location identified by the location data. 16.The non-transitory machine-readable storage medium of claim 15, whereinthe identifying the geographic location based on the location dataincludes: identifying a concentration of social network activity withinthe geographic region based on the location data.
 17. The non-transitorymachine-readable storage medium of claim 16, wherein the instructionscause the machine to perform operations further comprising: determininga cost for delivering targeted content through the geo-fence thatencompasses the geographic location based on a property of theconcentration of social network activity.
 18. The non-transitorymachine-readable storage medium of claim 15, wherein the instructionscause the machine to perform operations further comprising: determininga cost for delivering targeted content through the geo-fence thatencompasses the geographic location based on a property of thegeographic location.
 19. The non-transitory machine-readable storagemedium of claim 18, wherein the geo-fence identifier that identifies thegeo-fence that encompasses the geographic location further comprises adisplay of the cost for delivering the targeted content through thegeo-fence.
 20. The non-transitory machine-readable storage medium ofclaim 15, wherein the geo-fence identifier includes an identification ofthe geographic location.